Method and apparatus for three-dimensional tracking of infra-red beacons

ABSTRACT

A method for processing data includes identifying a time signature of an infra-red (IR) beacon. Image data associated with the IR beacon is identified using the time signature.

FIELD

[0001] An embodiment of the present invention relates to monitoring andtracking systems. More specifically, an embodiment of the presentinvention relates to a method and apparatus for three-dimensionaltracking of infra-red beacons.

BACKGROUND

[0002] Surveillance and monitoring systems have been utilized for yearsin assisted living facilities and in office buildings. In the future,use of such systems will expand to enable a variety of pervasivecomputing applications such as resource discovery, point-and-useinterfaces, navigation, and augmented reality.

[0003] Systems that utilize infra-red technology such as infra-redtransmitters and receivers have become common in recent years. In thesesystems, an infra-red transmitter delivers information such as anidentity of the transmitter or a person carrying the transmitter to ainfra-red sensor or a plurality of infra-red sensors within its range.No detailed spatial information is extrapolated from this informationand thus only limited room-level resolution is provided by the systems.

[0004] Recently, various improved indoor monitoring and tracking systemshave been developed utilizing ultrasonic technology. These ultrasoniclocation systems perform trilateration, the principle of positionfinding using distance measurement. In these systems, short pulses ofultrasound are emitted from an ultrasonic transmitter. Thetimes-of-flight of the pulse to ultrasonic receivers mounted at knownlocations are measured. Taking into account the speed of sound in air,the distance from the transmitter to each receiver is determined. Giventhree or more of such distance measurements, the three-dimensionalposition of the transmitter is calculated. The determination of aprecise position of a transmitter or beacon is particularly more usefulin monitoring and tracking applications. However, for a facility toreplace an existing system utilizing infra-red technology with a newultrasonic system would require significant cost and time which isundesirable.

[0005] Thus, what is needed is a method and apparatus for efficientlyand effectively tracking the three-dimensional position of an infra-redbeacon that takes advantage of the existing infrastructure available ina facility instead of requiring its replacement.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The features and advantages of embodiments of the presentinvention are illustrated by way of example and are not intended tolimit the scope of the present invention to the particular embodimentsshown, and in which:

[0007]FIG. 1 is a block diagram of a computer system implementing anembodiment of the present invention;

[0008]FIG. 2 is a block diagram of a tracking unit according to anembodiment of the present invention;

[0009]FIG. 3 illustrates an example of the tracking of an infra-redbeacon according to an embodiment of the present invention;

[0010]FIG. 4 is a flow chart illustrating a method for managing data forperforming tracking of an infra-red beacon according to an embodiment ofthe present invention; and

[0011]FIG. 5 is a flow chart illustrating a method for triangulating athree-dimensional coordinate of an infra-red beacon according to anembodiment of the present invention.

DETAILED DESCRIPTION

[0012] In the following description, for purposes of explanation,specific nomenclature is set forth to provide a thorough understandingof embodiments of the present invention. However, it will be apparent toone skilled in the art that these specific details may not be requiredto practice the embodiments of the present invention. In otherinstances, well-known circuits and devices are shown in block diagramform to avoid obscuring embodiments of the present inventionunnecessarily.

[0013]FIG. 1 is a block diagram of an exemplary computer system 100 uponwhich an embodiment of the present invention can be implemented. Thecomputer system 100 includes a processor 101 that processes datasignals. The processor 101 may be a complex instruction set computermicroprocessor, a reduced instruction set computing microprocessor, avery long instruction word microprocessor, a processor implementing acombination of instruction sets, or other processor device. FIG. I showsan embodiment of the present invention implemented on a single processorcomputer system 100. However, it is understood that an embodiment of thepresent invention may be implemented in a computer system havingmultiple processors. The processor 101 is coupled to a CPU bus 110 thattransmits data signals between processor 101 and other components in thecomputer system 100.

[0014] The computer system 100 includes a memory 113. The memory 113 maybe a dynamic random access memory device, a static random access memorydevice, or other memory device. The memory 113 may store instructionsand code represented by data signals that may be executed by theprocessor 101. A cache memory 102 resides inside processor 101 thatstores data signals stored in memory 113. The cache 102 speeds up memoryaccesses by the processor 101 by taking advantage of its locality ofaccess. In an alternate embodiment of the computer system 100, the cache102 resides external to the processor 101. A bridge memory controller111 is coupled to the CPU bus 110 and the memory 113. The bridge memorycontroller 111 directs data signals between the processor 101, thememory 113, and other components in the computer system 100 and bridgesthe data signals between the CPU bus 110, the memory 113, and a firstI/O bus 120.

[0015] The first I/O bus 120 may be a single bus or a combination ofmultiple buses. As an example, the first I/O bus 120 may comprise aPeripheral Component Interconnect (PCI) bus, a Personal Computer MemoryCard International Association (PCMCIA) bus, a NuBus, or other buses.The first I/O bus 120 provides communication links between components inthe computer system 100. A network controller 121 is coupled to thefirst I/O bus 120. The network controller 121 may link the computersystem 100 to a network of computers (not shown in FIG. 1) and supportscommunication among the machines. A display device controller 122 iscoupled to the first I/O bus 120. The display device controller 122allows coupling of a display device (not shown) to the computer system100 and acts as an interface between the display device and the computersystem 100. The display device may be a computer monitor, a flat paneldisplay or other display device. The display device receives datasignals from the processor 101 through the display device controller 122and displays the information and data signals to the user of thecomputer system 100.

[0016] A plurality of video cameras 123 are coupled to the first I/O bus120. The video cameras 123 operate to capture an image of an object. Thevideo cameras 123 may be digital video cameras having internal digitalvideo capture hardware that translates the captured image into digitalgraphical data. The video cameras 123 may be analog video cameras havingdigital video capture hardware external to the video camera 123 fordigitizing the captured image. The video cameras 123 have the ability tosense infra-red light and are disbursed at locations in a facility wheretracking and monitoring of infra-red beacons is desired. The pluralityof video cameras 123 may be placed in the facility such that more thanone video camera may capture image data from a same region.

[0017] A plurality of infra-red receivers 124 are coupled to the firstI/O bus 120. The infra-red receivers 124 receive encoded infra-redsignals transmitted by infra-red transmitters or beacons (not shown).According to an embodiment of the computer system 100, each of theinfra-red beacons has a unique time signature which allows it totransmit its encoded infra-red signals intermittently at a timedifferent from other infra-red beacons in order to minimize signalcollision. The encoded infra-red signals may include information such asan identifier. The infra-red receivers convert the encoded infra-redsignals to electrical signals which are transmitted to the first I/O bus120. The infra-red receivers 124 may be disbursed at locations in thefacility where tracking and monitoring of infra-red beacons is desired.

[0018] A second I/O bus 130 may be a single bus or a combination ofmultiple buses. As an example, the second 1,0 bus 130 may comprise a PCIbus, a PCMCIA bus, a NuBus, an Industry Standard Architecture bus, orother buses. The second I/O bus 130 provides communication links betweencomponents in the computer system 100. A data storage device 131 iscoupled to the second I/O bus 130. The data storage device 131 may be ahard disk drive, a floppy disk drive, a CD-ROM device, a flash memorydevice or other mass storage device. A keyboard interface 132 is coupledto the second I/O bus 130. The keyboard interface 132 may be a keyboardcontroller or other keyboard interface. The keyboard interface 132 maybe a dedicated device or can reside in another device such as a buscontroller or other controller. The keyboard interface 132 allowscoupling of a keyboard to the computer system 100 and transmits datasignals from a keyboard to the computer system 100. An audio controller133 is coupled to the second I/O bus 130. The audio controller 133operates to coordinate the recording and playing of sounds is alsocoupled to the I/O bus 130. A bus bridge 125 couples the first I/O bus120 to the second I/O bus 130. The bus bridge 124 operates to buffer andbridge data signals between the first I/O bus 120 and the second I/O bus130.

[0019] An embodiment of the present invention is related to the use ofthe computer system 100 to perform three-dimensional tracking of aninfra-red beacon. According to one embodiment, three-dimensionaltracking of an infra-red beacon is performed by the computer system 100in response to the processor 101 executing a sequence of instructions inmain memory 113. Such instructions may be read into memory 113 fromanother computer-readable medium, such as data storage device 131, orfrom another source via the network controller 121. Execution of thesequence of instructions causes the processor 101 to performthree-dimensional tracking of an infra-red beacon, as will be describedhereafter. In an alternative embodiment, hardware circuitry may be usedin place of or in combination with software instructions to implement anembodiment of the present invention. Thus, the present invention is notlimited to any specific combination of hardware circuitry and software.

[0020]FIG. 2 is a block diagram of a tracking unit 200 according to anembodiment of the present invention. In an embodiment of the presentinvention, the tracking unit 200 is implemented in software and residesin main memory 113 (shown in FIG. 1) of the computer system 100 (shownin FIG. 1) as sequences of instructions. It should be appreciated thatthe modules may be implemented by hardware or a combination of bothhardware and software. The tracking unit 200 includes a video camerainterface 210. The video camera interface 210 receives image data fromthe plurality of video cameras 123 (shown in FIG. 1). The image data mayinclude, for example, a plurality of image frames. The video camerainterface 210 records a time for each image frame. The time may beassociated, for example, with the time the image frame is generated.

[0021] The tracking unit 200 includes a coordinate generator 220. Thecoordinate generator 220 determines a three-dimensional position of aninfra-red beacon from images of an infra-red transmission captured bythe video cameras 123. The coordinate generator 220 includes an imageframe identifier 221 that identifies image frames from the video cameras123 that capture an image of the infra-red transmission from theinfra-red beacon. According to an embodiment of the tracking unit 200,the image frame identifier 221 identifies a first image frame thatcaptures an image of a transmission from an infra-red beacon. The imageframe identifier 221 then identifies other image frames generated at thesame time as the first image frame that also capture an image of atransmission from an infra-red beacon. Assuming that the infra-redbeacon has a unique time signature, the image frames identified shouldcorrespond to the same infra-red transmission. The coordinate generator220 may also utilize knowledge of the sources of the image frames. Forexample, in identifying image frames associated with infra-red beaconsin a first room, the coordinate generator 220 may focus on image framesgenerated from a first and second camera that are known to be in thefirst room. Among the image frames generated from the first and secondcameras, image frames that capture infra-red signals at a same time aredetermined to be associated with the same infra-red beacon. Thecoordinate generator 220 also includes a triangulation unit 222 thatreceives the image frames identified, and performs triangulation todetermine a precise three-dimensional position of the infra-red beaconat a given time.

[0022] The tracking unit 200 includes an infra-red receiver interface230. The infra-red receiver interface 230 receives electrical signalstransmitted from the plurality of infra-red receivers 124 (shown inFIG. 1) in response to the infra-red receivers 124 receivingtransmissions from infra-red beacons. The electrical signals may includean identifier associated with the infra-red beacons detected byinfra-red receivers 124. The infra-red receiver interface 230 recognizesthe identity of the infra-red receiver transmitting the electricalsignal. The infra-red receiver interface 230 records a time associatedwith the electrical signals. The time may be associated, for example,with the time when the infra-red beacons were detected.

[0023] The tracking unit 200 includes a database 240. The database 240stores information received from the coordinate generator 230 such aswhere and when an infra-red signal was detected. The database 240 alsostores information received from the infra-red receiver interface 230such as when a specific infra-red beacon was detected. The database 240may be used to cross-reference the timing information received from thecoordinate generator 230 and infra-red receiver interface 230 to linkthe identity of an infra-red beacon with its position at differenttimes. According to an embodiment of the tracking unit 200, the database240 may also store information regarding the specific identities ofvideo cameras and infra-red receivers which provided the informationused for generating a three-dimensional coordinate.

[0024] The tracking unit 200 includes a profile generator 250. Theprofile generator 250 accesses information in the database 240 to createa historical profile of an infra-red beacon. According to an embodimentof the tracking unit 200, the profile generator 250 may access thedatabase 240 to create a historical profile that includes thethree-dimensional position data of specific infra-red beacon over aperiod of time.

[0025]FIG. 3 illustrates an example of the spatial resolution ofmulti-camera tracking as provided by the tracking unit 200 (shown inFIG. 2). FIG. 3 illustrates a two-dimensional floor plan of a workfacility 300. The work facility 300 includes a plurality of cubicles301-306 and an aisle 307. A plurality of video cameras 311-323 and aplurality of infra-red receivers (not shown) are positioned through outthe work facility 300. The information accessed from the database 240(shown in FIG. 2) may be used by the profile generator 250 (shown inFIG. 2) to generate a historical profile of an infra-red beacon over aperiod of time. The historical profile may illustrate a high degree ofspatial resolution that is unavailable from infra-red based monitoringsystems that utilize only infra-red transmitters and receivers. Forexample, where an infra-red based monitoring system that utilizes onlyinfra-red transmitters and receivers may only provide informationidentifying the cubicle an infra-red beacon is located during aparticular time, the tracking unit 200 may provide more specificinformation such as where in the cubicle the infra-red beacon wasdetected at a particular time. Although FIG. 3 illustrates atwo-dimensional floor plan of a work facility 300, it should beappreciated that other perspectives including a three-dimensionalperspective of a historical profile may also be generated by the profilegenerator 250 according to an embodiment of the present invention.

[0026] Referring back to FIG. 2, the tracking unit 200 includes aprofile comparator 260. The profile comparator 260 may be used tocompare the historical profiles received by the profile generator 250.The historical profiles compared by the profile comparator 260 may be,for example, profiles associated with two different infra-red beaconsover a same period of time or the same infra-red beacon over differentperiods of time. Comparison of the historical profiles may includecomparing the three-dimensional position where the IR beacon(s) havebeen, the duration of time where the IR beacon has been at a particularlocation, or other types of comparison.

[0027] The tracking unit 200 has many potential applications. Forexample, in an assisted living facility, the profile comparator 260 maybe used to compare the historical profile of a person wearing aninfra-red beacon during different periods of time. From the comparison,one may be able to determine levels of activity and inactivity which maybe indicative of the presence of other issues. The profile comparator260 may also be used to compare the historical profiles of residentswearing infra-red beacons with staff wearing infra-red beacons todetermine which staff member at a given point of time would be in a bestposition to assist a particular resident.

[0028] In addition to supporting the proactive monitoring features, thetracking unit 200 may also support interactive queries. In an embodimentof the present invention where a system operator may interact with thedatabase of recorded locations and identities, an operator may accessthe database 240 to obtain information about the residents in thefacility. For example, the system operator may wish to know how muchtime a given resident spends socializing with other residents. Byaccessing the database 240, the operator may cross-reference theposition of the individual with the identity of the infra-red beacon theindividual is wearing and cross-reference the location of that beacon ata given time with the location of beacons worn by other residents. Inanother example, the system operator may wish to know how much time agiven resident spends walking about a room verses sitting in the room.By taking differences between locations of a given infra-red beacon overtime, the cumulative distance traveled by the person wearing that beaconcan be calculated. Similarly, repetitive actions such as pacing can beautomatically differentiated from ordinary walking.

[0029] An embodiment of the present invention provides an upgrade pathand enables a facility to build a hybrid system utilizing infra-redbased data transmission and camera based three-dimensional locationtracking where an appropriate level of tracking resolution may beobtained in each monitored location. For instance, a facility with anexisting infra-red based monitoring system that provides coarse presenceinformation may upgrade the same system to obtain finer grainedinformation about location and movement. The level of requiredinvestment in high-resolution tracking sensors such as cameras isflexible. They may be placed selectively in desired locations withouthaving to upgrade an entire pre-existing system. In addition, theupgrade would not require changing existing IR beacons that are usedwhich may otherwise prove to be inconvenient or disruptive.

[0030] It should be appreciated that the video camera interface 210,coordinate generator 220, infra-red receiver interface 230, database240, profile generator 250, and the profile comparator 260 may beimplemented using any known circuitry or technique.

[0031]FIG. 4 is a flow chart illustrating a method for managing data forthe three-dimensional tracking of an infra-red beacon according to anembodiment of the present invention. At 401, a time is recorded forimage frames generated by video cameras. The time recorded may be, forexample, the time associated with when the image frames were generatedby the video cameras.

[0032] At 402, a time is recorded for an infra-red signal detected by aninfra-red receiver. The infra-red signal may be, for example, an encodedsignal that identifies the identity of the infra-red beacon thattransmitted the signal. The time recorded may be, for example, the timeassociated with when the infra-red transmission was detected.

[0033] At 403, image frames capturing an image of an infra-redtransmission from the infra-red beacon are identified. According to anembodiment of the present invention, the infra-red beacon has a uniquetime signature which allows it to transmit a signal intermittently at atime different from other infra-red beacons. In this embodiment, imageframes capturing an image of an infra-red transmission at a same timemay be associated with the same infra-red beacon. Knowledge of wherevideo cameras are positioned and the overlap regions of the videocameras may be utilized to assist in identifying image frames associatedwith the same infra-red transmission.

[0034] At 404, a three-dimensional position of the infra-red beacon isdetermined from the identified image frames. According to an embodimentof the present invention, the position of the infra-red transmission inthe image frames identified is triangulated to generate athree-dimensional position of the infra-red beacon.

[0035] At 405, the information generated is stored. According to anembodiment of the present invention, the information stored includes thethree-dimensional position of the infra-red beacon, a time associatedwith when the infra-red beacon was identified at the three-dimensionalposition, the identity of the infra-red beacon detected by the infra-redreceiver, and a time associated with when the infra-red beacon wasdetected. According to an embodiment of the present invention, theinformation is stored on a database which may be used to cross-referencethe time in which an infra-red beacon is detected by an infra-redreceiver and a video camera to link the identity of an infra-red beaconwith its position at different times.

[0036] At 406, the information stored is processed. According to anembodiment of the present invention, the information is processed togenerate a historical profile of the infra-red beacon. The historicalprofile may include a log of three-dimensional positions of theinfra-red beacon over a period of time. The information may be furtherprocessed by comparing the historical profile of the infra-red beaconover different periods of time to determine, for example, changes in thebeacon holder's routine and behavior. The information may also beprocessed by comparing the historical profile of two different infra-redbeacons over a same period of time to determine, for example, one beaconholder's accessibility to the other. Comparison of historical profilesmay include, for example, the comparison of the relativethree-dimensional positions of the infra-red beacon and/or the timeperiod the infra-red beacon is at a particular location.

[0037]FIG. 5 is a flow chart illustrating a method for determining thethree-dimensional position of an infra-red beacon according to anembodiment of the present invention. This method may be utilized toimplement block 404 described in FIG. 4. At 501, filtering of light isperformed to capture an image of a transmission from the infra-redbeacon. According to an embodiment of the present invention, aninfra-red pass filter is implemented.

[0038] At 502, two-dimensional coordinates of the infra-red beacon aredetermined from the images from each video camera. According to anembodiment of the present invention, a feature detection algorithm maybe used to process the images.

[0039] At 503, the two-dimensional coordinates are transformed tocoordinate points in an environment. According to an embodiment of thepresent invention, the location of the cameras in the environment, thecameras field of view, resolution, and other extrinsic, and intrinsicinformation about the cameras may be used in transforming thetwo-dimensional coordinates of the infra-red beacon to coordinate pointsin the environment.

[0040] At 504, a three-dimensional line of sight is generated for eachof the coordinate points in the environment to its correspondingoriginating camera.

[0041] At 505, a three-dimensional intersection of the three-dimensionalline of sight is determined. The three-dimensional intersection of thethree-dimensional line of sights is the three-dimensional position ofthe infra-red beacon.

[0042]FIGS. 4 and 5 are flow charts illustrating a method for managingdata for the three-dimensional tracking of an infra-red beacon and amethod for determining the three-dimensional position of an infra-redbeacon. Some of the techniques illustrated in these figures may beperformed sequentially, in parallel or in an order other than that whichis described. It should be appreciated that not all of the techniquesdescribed are required to be performed, that additional techniques maybe added, and that some of the illustrated techniques may be substitutedwith other techniques.

[0043] In the foregoing specification embodiments of the invention hasbeen described with reference to specific exemplary embodiments thereof.It will, however, be evident that various modifications and changes maybe made thereto without departing from the broader spirit and scope ofthe invention. The specification and drawings are, accordingly, to beregarded in an illustrative rather than restrictive sense.

What is claimed is:
 1. A method for processing data, comprising:identifying image frames, generated from a plurality of video cameras,that capture a transmission from an infra-red (IR) beacon; determining athree-dimensional position of the IR beacon from image framesidentified; and determining an identity of the IR beacon associated withthe transmission.
 2. The method of claim 1, wherein identifying theimage frames that capture the transmission from the IR beacon comprisesidentifying image frames that capture an image of infra-red light at asame time.
 3. The method of claim 1, wherein determining thethree-dimensional position of the IR beacon from the image datacomprises: determining positions of images of infra-red light in theimage frames identified; and triangulating the three-dimensionalposition from the positions of the images.
 4. The method of claim 1,wherein determining the identity of the IR beacon comprisescross-referencing a time the image frames are generated with a time aninfra-red beacon is detected by an infra-red receiver.
 5. The method ofclaim 1, further comprising retrieving three-dimensional positionsassociated with the IR beacon over a period of time to generate ahistorical profile of the IR beacon.
 6. The method of claim 1, furthercomprising comparing three-dimensional positions associated with the IRbeacon over a period of time with three-dimensional positions associatedwith the IR beacon over a second period of time.
 7. The method of claim1, further comprising comparing three-dimensional positions associatedwith the IR beacon over a period of time with three-dimensionalpositions associated with a second IR beacon over the period of time. 8.The method of claim 1, further comprising determining a distance betweenthree-dimensional positions of the infra-red beacon over a period oftime.
 9. A method for processing data, comprising: identifying a timesignature of an infra-red (IR) beacon; and accessing image dataassociated with the IR beacon using the time signature.
 10. The methodof claim 9, wherein identifying the time signature of the IR beaconcomprises determining when the IR beacon transmits an IR identifier. 11.The method of claim 9, wherein accessing the image data comprisesretrieving a three-dimensional position of the IR beacon.
 12. The methodof claim 9, wherein accessing image data associated with the IR beaconcomprises accessing image frames generated from a plurality of camerasdetecting an IR transmission at a time corresponding to the timesignature.
 13. The method of claim 9, further comprising creating ahistorical profile for the IR beacon.
 14. The method of claim 13,wherein creating the historical profile for the IR beacon comprisesgenerating a log that includes three-dimensional coordinates ofpositions of the IR beacon over a period of time.
 15. The method ofclaim 14, further comprising comparing the historical profile of the IRbeacon with a previous historical profile of the IR beacon.
 16. Themethod of claim 14, further comprising comparing the historical profileof the IR beacon with a historical profile of a second IR beacon. 17.The method of claim 15, wherein comparing the historical profile of theIR beacon with the previous profile of the beacon comprises comparinglocations where the IR beacon has been.
 18. The method of claim 15,wherein comparing the historical profile of the IR beacon with theprevious profile of the beacon comprises comparing durations of timewhere the IR beacon has been at a location.
 19. A machine-readablemedium having stored thereon sequences of instructions, the sequences ofinstructions including instructions which, when executed by a processor,causes the processor to perform: identifying a time signature of aninfra-red (IR) beacon; and accessing image data associated with the IRbeacon using the time signature.
 20. The machine-readable medium ofclaim 19, wherein identifying the time signature of the IR beaconcomprises determining when the IR beacon transmits an IR identifier. 21.The machine-readable medium of claim 19, wherein accessing the imagedata comprises retrieving a three-dimensional position of the IR beacon.22. The machine-readable medium of claim 19, further comprisinginstructions which, when executed by the processor, causes the processorto perform creating a historical profile for the IR beacon.
 23. Themachine-readable medium of claim 22, wherein creating the historicalprofile for the IR beacon comprises generating a log that includesthree-dimensional coordinates of positions of the IR beacon over aperiod of time.
 24. The machine-readable medium of claim 22, furthercomprising instructions which, when executed by the processor, causesthe processor to perform comparing the historical profile of the IRbeacon with a previous historical profile of the IR beacon.
 25. Themachine-readable medium of claim 22, further comprising instructionswhich, when executed by the processor, causes the processor to performcomparing the historical profile of the IR beacon with a historicalprofile of a second IR beacon.
 26. A tracking unit, comprising: a videocamera interface to receive image frames generated by video cameras andto assign to the image frames a time associated with when the imageframes were generated; and a coordinate generator to determine athree-dimensional position of an infra-red (IR) beacon from image framesthat capture an image of an IR transmission from the IR beacon.
 27. Thetracking unit of claim 26, wherein the coordinate generator comprises animage frame identifier to identify image frames that capture the imageof the IR transmission at a same time.
 28. The tracking unit of claim26, wherein the coordinate generator comprises a triangulation unit totriangulate a position of the IR beacon from the image frames thatcapture the image of the IR transmission.
 29. The tracking unit of claim26, further comprising an infra-red (IR) receiver interface to receivean identifier associated with the IR beacon that generated the IRtransmission and to assign a time associated with when the identifierwas received.
 30. The tracking unit of claim 29, further comprising aprofile generator to retrieve three-dimensional positions associatedwith the IR beacon by referencing times associated with when the IRbeacon generated the IR transmission.